package br.com.ss.portal.model.entity;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

import br.com.ss.portal.component.Util;

@Entity
@Table(name = "eleitor")
public class Eleitor implements Serializable {

	private static final long serialVersionUID = -582851570491564936L;

	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	@Column(name = "elei_id")
	private long id;

	@Column(name = "nome", length = 60, nullable = false)
	private String nome;

	@Column(name = "rua", length = 30, nullable = false)
	private String rua;
	@Column(name = "numero", length = 6)
	private String numero;
	@Column(name = "cep", length = 8)
	private String cep;
	@Column(name = "complemento", length = 30)
	private String complemento;
	@Column(name = "bairro", length = 30)
	private String bairro;
	@Column(name = "celular", length = 10)
	private String celular;
	@Column(name = "residencial", length = 10)
	private String residencial;
	@Column(name = "comercial", length = 10)
	private String comercial;
	@Column(name = "titulo", length = 10)
	private String titulo;
	
	@ManyToOne()
	@JoinColumn(name = "fk_resp_id", referencedColumnName = "resp_id")  
	private Responsavel responsavel;

	public String getTitulo() {
		return titulo;
	}

	public void setTitulo(String titulo) {
		this.titulo = titulo;
	}

	public long getId() {
		return id;
	}

	public void setId(long id) {
		this.id = id;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public String getRua() {
		return rua;
	}

	public void setRua(String rua) {
		this.rua = rua;
	}

	public String getNumero() {
		return numero;
	}

	public void setNumero(String numero) {
		this.numero = numero;
	}

	public String getCep() {
		return cep;
	}

	public void setCep(String cep) {
		this.cep = cep;
	}

	public String getBairro() {
		return bairro;
	}

	public void setBairro(String bairro) {
		this.bairro = bairro;
	}

	public String getCelular() {
		return celular;
	}

	public void setCelular(String celular) {
		this.celular = celular;
	}

	public String getResidencial() {
		return residencial;
	}

	public void setResidencial(String residencial) {
		this.residencial = residencial;
	}

	public String getComercial() {
		return comercial;
	}

	public void setComercial(String comercial) {
		this.comercial = comercial;
	}

	public String getComplemento() {
		return complemento;
	}

	public void setComplemento(String complemento) {
		this.complemento = complemento;
	}
	
	public Responsavel getResponsavel() {
		return responsavel;
	}

	public void setResponsavel(Responsavel responsavel) {
		this.responsavel = responsavel;
	}

	public Eleitor removeMask(Eleitor eleitor) {
		eleitor.setCelular(Util.removeMask(eleitor.getCelular()));
		eleitor.setComercial(Util.removeMask(eleitor.getComercial()));
		eleitor.setResidencial(Util.removeMask(eleitor.getResidencial()));
		return eleitor;
	}

	public String toString() {
		return "id = " + getId() + "\n nome = " + getNome();
	}
}
